/*
* Copyright (c) 2007 by Kirill Kolodyazhniy.
* See the file "license.terms" for information on usage and redistribution.
*/

#ifndef M_RENDERDATA_H
#define M_RENDERDATA_H

namespace Engine
{
	/**
	*   Abstract class defining the interface all render data must implement.
	*/
	class RenderData
	{
	public:
		virtual ~RenderData(){};

		virtual void SetStartVertex(unsigned int val) = 0;
		virtual unsigned int GetStartVertex() = 0;

		virtual void SetVertexCount(unsigned int val) = 0;
		virtual unsigned int GetVertexCount() const = 0;

		virtual void SetStartIndex(unsigned int val) = 0;
		virtual unsigned int GetStartIndex() = 0;

		virtual void SetPrimitiveCount(unsigned int val) = 0;
		virtual unsigned int GetPrimitiveCount() = 0;

	};
}

#endif
